package homework;

import java.io.File;
import java.util.Scanner;

public class demo16 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要查找的目录");
        String dir = scanner.nextLine();
        System.out.println("请输入要查找的文件名");
        String filename =  scanner.nextLine();
        System.out.println(filename);

        //判断目录是否存在
        File rootFile = new File(dir);
        if (!rootFile.isDirectory()) {
            System.out.println("输入的目录不存在");
            return;
        }

        //进行搜索，遍历目录中的所有子文件和子目录
        scanDir(rootFile,filename);
    }

    private static void scanDir(File rootFile, String filename) {
       //1.列出rootfile的内容
       File[] files = rootFile.listFiles();
       if (files == null) {
            System.out.println("当前目录为空");
            return;
       }

       //2.遍历files数组，判定每个元素的类型
       for (File file : files) {
            if (file.isDirectory()) {
                //这是一个目录，调用scanDir方法
                scanDir(file, filename);
            }else{
                //这是一个文件，判断文件名字是否匹配
                if (file.getName().contains(filename)) {
                    tryDelete(file);
                }
            }
       }
    }

    private static void tryDelete(File file) {
        System.out.println("准备删除文件" + file.getAbsolutePath());
        Scanner scanner = new Scanner(System.in);
        System.out.println("确认是否删除(Y/N)");
        String choice = scanner.next();
        if(choice.equals("Y") || choice.equals("y")){
            file.delete();
            System.out.println("删除成功");
        }
    }
}
